package com.fengpanlong.service;

import java.util.List;

import com.fengpanlong.dao.EmployeeDao;
import com.fengpanlong.dao.GogalDao;
import com.fengpanlong.dao.TaskDao;
import com.fengpanlong.entity.Employee;
import com.fengpanlong.entity.Gogal;
import com.fengpanlong.entity.Task;

public class GogalService {
	/**
	 * 通过项目id查找目标
	 * @param projectId
	 * @return
	 */
	public static List<Gogal> findGogalsByProjectId(String projectId) {
		GogalDao gd = new GogalDao();
		return gd.findGogalsByProjectId(projectId);
	}
	/**
	 * 通过目标id查找任务列表
	 * @param gogalId 目标id
	 * @return 任务列表
	 */
	public static List<Task> findTasksByGogalId(String gogalId) {
		TaskDao td = new TaskDao();
		return td.findTasksByGogalId(gogalId);
	}
	/**
	 * 通过目标id查找目标
	 * @param gogalId 目标id
	 * @return 目标
	 */
	public static Gogal findGogalByGogalId(String gogalId) {
		GogalDao gd = new GogalDao();
		return gd.findById(gogalId);
	}
	public static Employee findEmployeeByTaskId(String taskId) {
		EmployeeDao ed = new EmployeeDao();
		return ed.findEmployeeByTaskId(taskId);
	}
	/**
	 * 通过任务id查找任务
	 * @param taskId 任务id
	 * @return 任务
	 */
	public static Task findTaskByTaskId(String taskId) {
		TaskDao td = new TaskDao();
		return td.findTaskByTaskId(taskId);
	}
	/**
	 * 更新任务
	 * @param task
	 */
	public static void updateTask(Task task) {
		TaskDao td = new TaskDao();
		td.updateTask(task);
	}
	/**
	 * 保存任务
	 * @param task
	 */
	public static void saveTask(Task task) {
		TaskDao td = new TaskDao();
		td.saveTask(task);
	}
	/**
	 * 通过用户id和项目id查找任务列表
	 * @param employeeId 用户id
	 * @param projectId 项目id
	 * @return
	 */
	public static List<Task> findTasksByEmployeeIdAndByProjectId(
			String employeeId, String projectId) {
		TaskDao td = new TaskDao();
		return td.findTasksByEmployeeIdAndByProjectId(employeeId,projectId);
	}
	/**
	 * 保存目标
	 * @param gogal
	 */
	public static void saveGogal(Gogal gogal) {
		GogalDao gd = new GogalDao();
		gd.save(gogal);
	}
	/**
	 * 更新目标
	 * @param gogal
	 */
	public static void updateGogal(Gogal gogal) {
		GogalDao gd = new GogalDao();
		gd.update(gogal);
	}
	/**
	 * 删除目标
	 * @param gogalId 
	 */
	public static void delGogalByGogalId(String gogalId) {
		TaskDao td = new TaskDao();
		td.delTaskByGogalId(gogalId);
		GogalDao gd = new GogalDao();
		gd.delGogalByGogalId(gogalId);
	}
	/**
	 * 删除任务
	 * @param taskId
	 */
	public static void delTaskByTaskId(String taskId) {
		TaskDao td = new TaskDao();
		td.delTaskByTaskId(taskId);
	}
}
